package com.cq.hd.member.api.vo;

import com.alibaba.fastjson.annotation.JSONField;
import com.cq.hd.common.serialize.Decimal2Serializer;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

@Data
public class AdminSubsidyAmtBillPageVo implements Serializable {

    @ApiModelProperty(value = "id")
    private Long id;

    @ApiModelProperty(value = "商家id")
    private Long businessId;

    @ApiModelProperty(value = "用户id")
    private Long userId;

    @ApiModelProperty(value = "订单编号")
    private String orderNo;

    @ApiModelProperty(value = "收支类型(1-收入，2-支出)")
    private Integer billType;

    @ApiModelProperty(value = "交易类型(1-补贴充值，2-补贴扣款，3-充值手续费，4-营销补贴服务费)")
    private Integer tradeType;

    @ApiModelProperty(value = "关联交易单号（子订单号/提现单号）")
    private String relationTradeNo;

    @ApiModelProperty(value = "变动前余额")
    @JsonSerialize(using = Decimal2Serializer.class)
    private BigDecimal beforeAmt;

    @ApiModelProperty(value = "变动金额")
    @JsonSerialize(using = Decimal2Serializer.class)
    private BigDecimal tradeAmt;

    @ApiModelProperty(value = "变动后余额")
    @JsonSerialize(using = Decimal2Serializer.class)
    private BigDecimal afterAmt;

    @ApiModelProperty(value = "交易状态(1-待支付,2-支付成功，3-支付失败，4-支付中)")
    private Integer payState;

    @ApiModelProperty(value = "交易时间")
    @JSONField(format="yyyy.MM.dd HH:mm:ss")
    private LocalDateTime tradeTime;

    @ApiModelProperty(value = "商家简称")
    private String businessShortName;

    @ApiModelProperty(value = "商家名称")
    private String businessName;

}
